package yl.hs.bmipfull.pojo.finance;

import lombok.Data;
import lombok.EqualsAndHashCode;
import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/*
 * BrickShipSettleMainEntity
 * @category
 * @author 谢景广
 * @date 2023-01-03
 */
@Data
@EqualsAndHashCode(callSuper = true)
@DBTable(disName = "成品砖结算信息",mapCode = "brick_ship_settle_main")
public class BrickShipSettleMainEntity extends BaseEntity {
    private Long id;
    @DBField(disName = "结算编号",mapCode = "sn",isSerialNumber = true,snPrefix = "CPZJS")
    private String sn;
    private String contractSN;
    private String customerSN;
    private String projectNamePY;
    private int year;
    private int month;
    @DBField(disName = "发货开始时间",mapCode = "startTime")
    private Date startTime;
    @DBField(disName = "发货结束时间",mapCode = "endTime")
    private Date endTime;
    @DBField(disName = "结算方式",mapCode = "settleWay")
    private String settleWay;
    @DBField(disName = "取价方式",mapCode = "priceChannel")
    private String priceChannel;
    @DBField(disName = "结算时间",mapCode = "settleTime")
    private Date settleTime;
    @DBField(disName = "上期结算金额",mapCode = "previousAmount")
    private BigDecimal previousAmount = BigDecimal.ZERO;
    @DBField(disName = "本期结算金额",mapCode = "currentAmount")
    private BigDecimal currentAmount = BigDecimal.ZERO;
    @DBField(disName = "累计结算金额",mapCode = "totalAmount")
    private BigDecimal totalAmount = BigDecimal.ZERO;
    @DBField(disName = "本期回款金额",mapCode = "currentReceivedAmount")
    private BigDecimal currentReceivedAmount = BigDecimal.ZERO;
    @DBField(disName = "累计回款金额",mapCode = "totalReceivedAmount")
    private BigDecimal totalReceivedAmount = BigDecimal.ZERO;
    @DBField(disName = "本期发货方量",mapCode = "currentVolume")
    private BigDecimal currentVolume = BigDecimal.ZERO;
    @DBField(disName = "累计发货方量",mapCode = "totalVolume")
    private BigDecimal totalVolume = BigDecimal.ZERO;
    private String productCateSN;
    @DBField(disName = "本期发货车次",mapCode = "currentOrderCount")
    private int currentOrderCount;
    @DBField(disName = "累计发货车次",mapCode = "totalOrderCount")
    private int totalOrderCount;
    @DBField(disName = "合同备注",mapCode = "contractRemark")
    private String contractRemark;
    @DBField(disName = "产品类别",mapCode = "productCateName")
    private String productCateName;
    @DBField(disName = "结算备注",mapCode = "remark")
    private String remark;
    private short state;
    private String tags;
    private String organizationCode;
    @DBField(disName = "客户名称",mapCode = "customerName")
    private String customerName;
    private String customerNamePY;
    private String projectSN;
    @DBField(disName = "工地名称",mapCode = "projectName")
    private String projectName;
    private String signer;
    private Date signingTime;
    private String signWay;
    private String signSvg;
    private String signRemark;
    private String contractingUnit;
    private int exportCount;
    private short signState;
}
